0 Prolog
↳1 PrologToPrologProblemTransformerProof (⇒, 683 ms)
↳2 Prolog
↳3 PrologToPiTRSProof (⇒, 24 ms)
↳4 PiTRS
↳5 DependencyPairsProof (⇔, 0 ms)
↳6 PiDP
↳7 DependencyGraphProof (⇔, 0 ms)
↳8 PiDP
↳9 UsableRulesProof (⇔, 0 ms)
↳10 PiDP
↳11 PiDPToQDPProof (⇒, 13 ms)
↳12 QDP
↳13 QDPSizeChangeProof (⇔, 0 ms)
↳14 YES
revB_in_ga([], []) → revB_out_ga([], [])
revB_in_ga(.(T54, []), .(T54, [])) → revB_out_ga(.(T54, []), .(T54, []))
revB_in_ga(.(T125, .(T124, [])), .(T124, .(T125, []))) → revB_out_ga(.(T125, .(T124, [])), .(T124, .(T125, [])))
revB_in_ga(.(T220, .(T219, .(T218, []))), .(T218, .(T219, .(T220, [])))) → revB_out_ga(.(T220, .(T219, .(T218, []))), .(T218, .(T219, .(T220, []))))
revB_in_ga(.(T339, .(T338, .(T337, .(T336, [])))), .(T336, .(T337, .(T338, .(T339, []))))) → revB_out_ga(.(T339, .(T338, .(T337, .(T336, [])))), .(T336, .(T337, .(T338, .(T339, [])))))
revB_in_ga(.(T482, .(T481, .(T480, .(T479, .(T478, []))))), .(T478, .(T479, .(T480, .(T481, .(T482, [])))))) → revB_out_ga(.(T482, .(T481, .(T480, .(T479, .(T478, []))))), .(T478, .(T479, .(T480, .(T481, .(T482, []))))))
revB_in_ga(.(T649, .(T648, .(T647, .(T646, .(T645, .(T644, [])))))), .(T644, .(T645, .(T646, .(T647, .(T648, .(T649, []))))))) → revB_out_ga(.(T649, .(T648, .(T647, .(T646, .(T645, .(T644, [])))))), .(T644, .(T645, .(T646, .(T647, .(T648, .(T649, [])))))))
revB_in_ga(.(T840, .(T839, .(T838, .(T837, .(T836, .(T835, .(T834, []))))))), .(T834, .(T835, .(T836, .(T837, .(T838, .(T839, .(T840, [])))))))) → revB_out_ga(.(T840, .(T839, .(T838, .(T837, .(T836, .(T835, .(T834, []))))))), .(T834, .(T835, .(T836, .(T837, .(T838, .(T839, .(T840, []))))))))
revB_in_ga(.(T883, .(T882, .(T881, .(T880, .(T879, .(T878, .(T877, .(T998, T999)))))))), T885) → U2_ga(T883, T882, T881, T880, T879, T878, T877, T998, T999, T885, revA_in_ggga(T999, T998, .(T877, .(T878, .(T879, .(T880, .(T881, .(T882, .(T883, []))))))), T885))
revA_in_ggga([], T1029, T1030, .(T1029, T1030)) → revA_out_ggga([], T1029, T1030, .(T1029, T1030))
revA_in_ggga(.(T1103, T1104), T1047, T1048, T1050) → U1_ggga(T1103, T1104, T1047, T1048, T1050, revA_in_ggga(T1104, T1103, .(T1047, T1048), T1050))
U1_ggga(T1103, T1104, T1047, T1048, T1050, revA_out_ggga(T1104, T1103, .(T1047, T1048), T1050)) → revA_out_ggga(.(T1103, T1104), T1047, T1048, T1050)
U2_ga(T883, T882, T881, T880, T879, T878, T877, T998, T999, T885, revA_out_ggga(T999, T998, .(T877, .(T878, .(T879, .(T880, .(T881, .(T882, .(T883, []))))))), T885)) → revB_out_ga(.(T883, .(T882, .(T881, .(T880, .(T879, .(T878, .(T877, .(T998, T999)))))))), T885)
Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog
revB_in_ga([], []) → revB_out_ga([], [])
revB_in_ga(.(T54, []), .(T54, [])) → revB_out_ga(.(T54, []), .(T54, []))
revB_in_ga(.(T125, .(T124, [])), .(T124, .(T125, []))) → revB_out_ga(.(T125, .(T124, [])), .(T124, .(T125, [])))
revB_in_ga(.(T220, .(T219, .(T218, []))), .(T218, .(T219, .(T220, [])))) → revB_out_ga(.(T220, .(T219, .(T218, []))), .(T218, .(T219, .(T220, []))))
revB_in_ga(.(T339, .(T338, .(T337, .(T336, [])))), .(T336, .(T337, .(T338, .(T339, []))))) → revB_out_ga(.(T339, .(T338, .(T337, .(T336, [])))), .(T336, .(T337, .(T338, .(T339, [])))))
revB_in_ga(.(T482, .(T481, .(T480, .(T479, .(T478, []))))), .(T478, .(T479, .(T480, .(T481, .(T482, [])))))) → revB_out_ga(.(T482, .(T481, .(T480, .(T479, .(T478, []))))), .(T478, .(T479, .(T480, .(T481, .(T482, []))))))
revB_in_ga(.(T649, .(T648, .(T647, .(T646, .(T645, .(T644, [])))))), .(T644, .(T645, .(T646, .(T647, .(T648, .(T649, []))))))) → revB_out_ga(.(T649, .(T648, .(T647, .(T646, .(T645, .(T644, [])))))), .(T644, .(T645, .(T646, .(T647, .(T648, .(T649, [])))))))
revB_in_ga(.(T840, .(T839, .(T838, .(T837, .(T836, .(T835, .(T834, []))))))), .(T834, .(T835, .(T836, .(T837, .(T838, .(T839, .(T840, [])))))))) → revB_out_ga(.(T840, .(T839, .(T838, .(T837, .(T836, .(T835, .(T834, []))))))), .(T834, .(T835, .(T836, .(T837, .(T838, .(T839, .(T840, []))))))))
revB_in_ga(.(T883, .(T882, .(T881, .(T880, .(T879, .(T878, .(T877, .(T998, T999)))))))), T885) → U2_ga(T883, T882, T881, T880, T879, T878, T877, T998, T999, T885, revA_in_ggga(T999, T998, .(T877, .(T878, .(T879, .(T880, .(T881, .(T882, .(T883, []))))))), T885))
revA_in_ggga([], T1029, T1030, .(T1029, T1030)) → revA_out_ggga([], T1029, T1030, .(T1029, T1030))
revA_in_ggga(.(T1103, T1104), T1047, T1048, T1050) → U1_ggga(T1103, T1104, T1047, T1048, T1050, revA_in_ggga(T1104, T1103, .(T1047, T1048), T1050))
U1_ggga(T1103, T1104, T1047, T1048, T1050, revA_out_ggga(T1104, T1103, .(T1047, T1048), T1050)) → revA_out_ggga(.(T1103, T1104), T1047, T1048, T1050)
U2_ga(T883, T882, T881, T880, T879, T878, T877, T998, T999, T885, revA_out_ggga(T999, T998, .(T877, .(T878, .(T879, .(T880, .(T881, .(T882, .(T883, []))))))), T885)) → revB_out_ga(.(T883, .(T882, .(T881, .(T880, .(T879, .(T878, .(T877, .(T998, T999)))))))), T885)
REVB_IN_GA(.(T883, .(T882, .(T881, .(T880, .(T879, .(T878, .(T877, .(T998, T999)))))))), T885) → U2_GA(T883, T882, T881, T880, T879, T878, T877, T998, T999, T885, revA_in_ggga(T999, T998, .(T877, .(T878, .(T879, .(T880, .(T881, .(T882, .(T883, []))))))), T885))
REVB_IN_GA(.(T883, .(T882, .(T881, .(T880, .(T879, .(T878, .(T877, .(T998, T999)))))))), T885) → REVA_IN_GGGA(T999, T998, .(T877, .(T878, .(T879, .(T880, .(T881, .(T882, .(T883, []))))))), T885)
REVA_IN_GGGA(.(T1103, T1104), T1047, T1048, T1050) → U1_GGGA(T1103, T1104, T1047, T1048, T1050, revA_in_ggga(T1104, T1103, .(T1047, T1048), T1050))
REVA_IN_GGGA(.(T1103, T1104), T1047, T1048, T1050) → REVA_IN_GGGA(T1104, T1103, .(T1047, T1048), T1050)
revB_in_ga([], []) → revB_out_ga([], [])
revB_in_ga(.(T54, []), .(T54, [])) → revB_out_ga(.(T54, []), .(T54, []))
revB_in_ga(.(T125, .(T124, [])), .(T124, .(T125, []))) → revB_out_ga(.(T125, .(T124, [])), .(T124, .(T125, [])))
revB_in_ga(.(T220, .(T219, .(T218, []))), .(T218, .(T219, .(T220, [])))) → revB_out_ga(.(T220, .(T219, .(T218, []))), .(T218, .(T219, .(T220, []))))
revB_in_ga(.(T339, .(T338, .(T337, .(T336, [])))), .(T336, .(T337, .(T338, .(T339, []))))) → revB_out_ga(.(T339, .(T338, .(T337, .(T336, [])))), .(T336, .(T337, .(T338, .(T339, [])))))
revB_in_ga(.(T482, .(T481, .(T480, .(T479, .(T478, []))))), .(T478, .(T479, .(T480, .(T481, .(T482, [])))))) → revB_out_ga(.(T482, .(T481, .(T480, .(T479, .(T478, []))))), .(T478, .(T479, .(T480, .(T481, .(T482, []))))))
revB_in_ga(.(T649, .(T648, .(T647, .(T646, .(T645, .(T644, [])))))), .(T644, .(T645, .(T646, .(T647, .(T648, .(T649, []))))))) → revB_out_ga(.(T649, .(T648, .(T647, .(T646, .(T645, .(T644, [])))))), .(T644, .(T645, .(T646, .(T647, .(T648, .(T649, [])))))))
revB_in_ga(.(T840, .(T839, .(T838, .(T837, .(T836, .(T835, .(T834, []))))))), .(T834, .(T835, .(T836, .(T837, .(T838, .(T839, .(T840, [])))))))) → revB_out_ga(.(T840, .(T839, .(T838, .(T837, .(T836, .(T835, .(T834, []))))))), .(T834, .(T835, .(T836, .(T837, .(T838, .(T839, .(T840, []))))))))
revB_in_ga(.(T883, .(T882, .(T881, .(T880, .(T879, .(T878, .(T877, .(T998, T999)))))))), T885) → U2_ga(T883, T882, T881, T880, T879, T878, T877, T998, T999, T885, revA_in_ggga(T999, T998, .(T877, .(T878, .(T879, .(T880, .(T881, .(T882, .(T883, []))))))), T885))
revA_in_ggga([], T1029, T1030, .(T1029, T1030)) → revA_out_ggga([], T1029, T1030, .(T1029, T1030))
revA_in_ggga(.(T1103, T1104), T1047, T1048, T1050) → U1_ggga(T1103, T1104, T1047, T1048, T1050, revA_in_ggga(T1104, T1103, .(T1047, T1048), T1050))
U1_ggga(T1103, T1104, T1047, T1048, T1050, revA_out_ggga(T1104, T1103, .(T1047, T1048), T1050)) → revA_out_ggga(.(T1103, T1104), T1047, T1048, T1050)
U2_ga(T883, T882, T881, T880, T879, T878, T877, T998, T999, T885, revA_out_ggga(T999, T998, .(T877, .(T878, .(T879, .(T880, .(T881, .(T882, .(T883, []))))))), T885)) → revB_out_ga(.(T883, .(T882, .(T881, .(T880, .(T879, .(T878, .(T877, .(T998, T999)))))))), T885)
REVB_IN_GA(.(T883, .(T882, .(T881, .(T880, .(T879, .(T878, .(T877, .(T998, T999)))))))), T885) → U2_GA(T883, T882, T881, T880, T879, T878, T877, T998, T999, T885, revA_in_ggga(T999, T998, .(T877, .(T878, .(T879, .(T880, .(T881, .(T882, .(T883, []))))))), T885))
REVB_IN_GA(.(T883, .(T882, .(T881, .(T880, .(T879, .(T878, .(T877, .(T998, T999)))))))), T885) → REVA_IN_GGGA(T999, T998, .(T877, .(T878, .(T879, .(T880, .(T881, .(T882, .(T883, []))))))), T885)
REVA_IN_GGGA(.(T1103, T1104), T1047, T1048, T1050) → U1_GGGA(T1103, T1104, T1047, T1048, T1050, revA_in_ggga(T1104, T1103, .(T1047, T1048), T1050))
REVA_IN_GGGA(.(T1103, T1104), T1047, T1048, T1050) → REVA_IN_GGGA(T1104, T1103, .(T1047, T1048), T1050)
revB_in_ga([], []) → revB_out_ga([], [])
revB_in_ga(.(T54, []), .(T54, [])) → revB_out_ga(.(T54, []), .(T54, []))
revB_in_ga(.(T125, .(T124, [])), .(T124, .(T125, []))) → revB_out_ga(.(T125, .(T124, [])), .(T124, .(T125, [])))
revB_in_ga(.(T220, .(T219, .(T218, []))), .(T218, .(T219, .(T220, [])))) → revB_out_ga(.(T220, .(T219, .(T218, []))), .(T218, .(T219, .(T220, []))))
revB_in_ga(.(T339, .(T338, .(T337, .(T336, [])))), .(T336, .(T337, .(T338, .(T339, []))))) → revB_out_ga(.(T339, .(T338, .(T337, .(T336, [])))), .(T336, .(T337, .(T338, .(T339, [])))))
revB_in_ga(.(T482, .(T481, .(T480, .(T479, .(T478, []))))), .(T478, .(T479, .(T480, .(T481, .(T482, [])))))) → revB_out_ga(.(T482, .(T481, .(T480, .(T479, .(T478, []))))), .(T478, .(T479, .(T480, .(T481, .(T482, []))))))
revB_in_ga(.(T649, .(T648, .(T647, .(T646, .(T645, .(T644, [])))))), .(T644, .(T645, .(T646, .(T647, .(T648, .(T649, []))))))) → revB_out_ga(.(T649, .(T648, .(T647, .(T646, .(T645, .(T644, [])))))), .(T644, .(T645, .(T646, .(T647, .(T648, .(T649, [])))))))
revB_in_ga(.(T840, .(T839, .(T838, .(T837, .(T836, .(T835, .(T834, []))))))), .(T834, .(T835, .(T836, .(T837, .(T838, .(T839, .(T840, [])))))))) → revB_out_ga(.(T840, .(T839, .(T838, .(T837, .(T836, .(T835, .(T834, []))))))), .(T834, .(T835, .(T836, .(T837, .(T838, .(T839, .(T840, []))))))))
revB_in_ga(.(T883, .(T882, .(T881, .(T880, .(T879, .(T878, .(T877, .(T998, T999)))))))), T885) → U2_ga(T883, T882, T881, T880, T879, T878, T877, T998, T999, T885, revA_in_ggga(T999, T998, .(T877, .(T878, .(T879, .(T880, .(T881, .(T882, .(T883, []))))))), T885))
revA_in_ggga([], T1029, T1030, .(T1029, T1030)) → revA_out_ggga([], T1029, T1030, .(T1029, T1030))
revA_in_ggga(.(T1103, T1104), T1047, T1048, T1050) → U1_ggga(T1103, T1104, T1047, T1048, T1050, revA_in_ggga(T1104, T1103, .(T1047, T1048), T1050))
U1_ggga(T1103, T1104, T1047, T1048, T1050, revA_out_ggga(T1104, T1103, .(T1047, T1048), T1050)) → revA_out_ggga(.(T1103, T1104), T1047, T1048, T1050)
U2_ga(T883, T882, T881, T880, T879, T878, T877, T998, T999, T885, revA_out_ggga(T999, T998, .(T877, .(T878, .(T879, .(T880, .(T881, .(T882, .(T883, []))))))), T885)) → revB_out_ga(.(T883, .(T882, .(T881, .(T880, .(T879, .(T878, .(T877, .(T998, T999)))))))), T885)
REVA_IN_GGGA(.(T1103, T1104), T1047, T1048, T1050) → REVA_IN_GGGA(T1104, T1103, .(T1047, T1048), T1050)
revB_in_ga([], []) → revB_out_ga([], [])
revB_in_ga(.(T54, []), .(T54, [])) → revB_out_ga(.(T54, []), .(T54, []))
revB_in_ga(.(T125, .(T124, [])), .(T124, .(T125, []))) → revB_out_ga(.(T125, .(T124, [])), .(T124, .(T125, [])))
revB_in_ga(.(T220, .(T219, .(T218, []))), .(T218, .(T219, .(T220, [])))) → revB_out_ga(.(T220, .(T219, .(T218, []))), .(T218, .(T219, .(T220, []))))
revB_in_ga(.(T339, .(T338, .(T337, .(T336, [])))), .(T336, .(T337, .(T338, .(T339, []))))) → revB_out_ga(.(T339, .(T338, .(T337, .(T336, [])))), .(T336, .(T337, .(T338, .(T339, [])))))
revB_in_ga(.(T482, .(T481, .(T480, .(T479, .(T478, []))))), .(T478, .(T479, .(T480, .(T481, .(T482, [])))))) → revB_out_ga(.(T482, .(T481, .(T480, .(T479, .(T478, []))))), .(T478, .(T479, .(T480, .(T481, .(T482, []))))))
revB_in_ga(.(T649, .(T648, .(T647, .(T646, .(T645, .(T644, [])))))), .(T644, .(T645, .(T646, .(T647, .(T648, .(T649, []))))))) → revB_out_ga(.(T649, .(T648, .(T647, .(T646, .(T645, .(T644, [])))))), .(T644, .(T645, .(T646, .(T647, .(T648, .(T649, [])))))))
revB_in_ga(.(T840, .(T839, .(T838, .(T837, .(T836, .(T835, .(T834, []))))))), .(T834, .(T835, .(T836, .(T837, .(T838, .(T839, .(T840, [])))))))) → revB_out_ga(.(T840, .(T839, .(T838, .(T837, .(T836, .(T835, .(T834, []))))))), .(T834, .(T835, .(T836, .(T837, .(T838, .(T839, .(T840, []))))))))
revB_in_ga(.(T883, .(T882, .(T881, .(T880, .(T879, .(T878, .(T877, .(T998, T999)))))))), T885) → U2_ga(T883, T882, T881, T880, T879, T878, T877, T998, T999, T885, revA_in_ggga(T999, T998, .(T877, .(T878, .(T879, .(T880, .(T881, .(T882, .(T883, []))))))), T885))
revA_in_ggga([], T1029, T1030, .(T1029, T1030)) → revA_out_ggga([], T1029, T1030, .(T1029, T1030))
revA_in_ggga(.(T1103, T1104), T1047, T1048, T1050) → U1_ggga(T1103, T1104, T1047, T1048, T1050, revA_in_ggga(T1104, T1103, .(T1047, T1048), T1050))
U1_ggga(T1103, T1104, T1047, T1048, T1050, revA_out_ggga(T1104, T1103, .(T1047, T1048), T1050)) → revA_out_ggga(.(T1103, T1104), T1047, T1048, T1050)
U2_ga(T883, T882, T881, T880, T879, T878, T877, T998, T999, T885, revA_out_ggga(T999, T998, .(T877, .(T878, .(T879, .(T880, .(T881, .(T882, .(T883, []))))))), T885)) → revB_out_ga(.(T883, .(T882, .(T881, .(T880, .(T879, .(T878, .(T877, .(T998, T999)))))))), T885)
REVA_IN_GGGA(.(T1103, T1104), T1047, T1048, T1050) → REVA_IN_GGGA(T1104, T1103, .(T1047, T1048), T1050)
REVA_IN_GGGA(.(T1103, T1104), T1047, T1048) → REVA_IN_GGGA(T1104, T1103, .(T1047, T1048))
From the DPs we obtained the following set of size-change graphs: